import { createRouter, createWebHistory } from "vue-router";

// 主框架路由 (需要登录后访问)
const MainLayout = () => import('@/views/Layout.vue')

let routes = [
  // 登录页
  {
    path: '/login',
    name: 'Login',
    component: () => import('@/views/login/Login.vue'),
    //meta: { guestOnly: true } // 仅允许未登录用户访问
  },

  // 主界面 (嵌套路由)
  {
    path: '/',
    component: MainLayout,
    redirect: '/chat', // 默认跳转至聊天页
    // meta: { requiresAuth: true }, // 需要登录
    children: [
      // 聊天模块
      {
        path: 'chat',
        name: 'ChatHome',
        component: () => import('@/views/chat/ChatHome.vue'),
        children: [
          {
            path: ':chatId',
            // path: 'chat/:chatId', // 动态聊天会话
            name: 'ChatSession',
            component: () => import('@/views/chat/ChatWindow.vue'),
            props: true // 将 chatId 作为 prop 传递
          }
        ]
      },
      // 联系人模块
      {
        path: 'contacts',
        name: 'Contacts',
        component: () => import('@/views/contacts/ContactList.vue'),
        children: [
          {
            path: ':userId',
            name: 'ContactDetail',
            component: () => import('@/views/contacts/ContactDetail.vue'),
            props: true
          }
        ]
      },

      // 朋友圈
      {
        path: 'moments',
        name: 'Moments',
        component: () => import('@/views/moments/MomentsFeed.vue')
      },

      // 设置
      {
        path: 'settings',
        name: 'Settings',
        component: () => import('@/views/settings/SettingsPage.vue'),
        children: [
          {
            path: 'profile', // 嵌套子路由示例
            name: 'ProfileSettings',
            component: () => import('@/views/settings/ProfileEditor.vue')
          }
        ]
      }
    ]
  },

  // 错误页
  {
    path: '/:pathMatch(.*)*',
    name: 'NotFound',
    component: () => import('@/views/error/NotFound.vue')
  }
]

// 路由器
const router = createRouter({
  history: createWebHistory(), // HTML5模式
  routes,
});

export default router;




// import { createRouter, createWebHistory } from 'vue-router'

// // 主框架路由 (需要登录后访问)
// const MainLayout = () => import('@/views/main/MainLayout.vue')

// const routes = [
//   // 登录页
//   {
//     path: '/login',
//     name: 'Login',
//     component: () => import('@/views/login/LoginPage.vue'),
//     meta: { guestOnly: true } // 仅允许未登录用户访问
//   },

//   // 主界面 (嵌套路由)
//   {
//     path: '/',
//     component: MainLayout,
//     redirect: '/chat', // 默认跳转至聊天页
//     meta: { requiresAuth: true }, // 需要登录
//     children: [
//       // 聊天模块
//       {
//         path: 'chat',
//         name: 'ChatHome',
//         component: () => import('@/views/main/chat/ChatHome.vue')
//       },
//       {
//         path: 'chat/:chatId', // 动态聊天会话
//         name: 'ChatSession',
//         component: () => import('@/views/main/chat/ChatWindow.vue'),
//         props: true // 将 chatId 作为 prop 传递
//       },

//       // 联系人模块
//       {
//         path: 'contacts',
//         name: 'Contacts',
//         component: () => import('@/views/main/contacts/ContactList.vue')
//       },
//       {
//         path: 'contacts/:userId', // 联系人详情
//         name: 'ContactDetail',
//         component: () => import('@/views/main/contacts/ContactDetail.vue'),
//         props: true
//       },

//       // 朋友圈
//       {
//         path: 'moments',
//         name: 'Moments',
//         component: () => import('@/views/main/moments/MomentsFeed.vue')
//       },

//       // 设置
//       {
//         path: 'settings',
//         name: 'Settings',
//         component: () => import('@/views/main/settings/SettingsPage.vue'),
//         children: [
//           {
//             path: 'profile', // 嵌套子路由示例
//             name: 'ProfileSettings',
//             component: () => import('@/views/main/settings/ProfileEditor.vue')
//           }
//         ]
//       }
//     ]
//   },

//   // 错误页
//   {
//     path: '/:pathMatch(.*)*',
//     name: 'NotFound',
//     component: () => import('@/views/error/NotFound.vue')
//   }
// ]

// const router = createRouter({
//   history: createWebHistory(),
//   routes,
//   scrollBehavior(to) {
//     // 聊天页保持滚动位置
//     return to.name?.startsWith('Chat') 
//       ? { left: 0, top: 0 }
//       : { behavior: 'smooth' }
//   }
// })

// export default router